home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 6 / CU Amiga Magazine's Super CD-ROM 06 (1996)(EMAP Images)(GB)(Track 1 of 4)[!][issue 1997-01].iso / cucd / prog / mui / muibuilder / mb / tools / bumprev.rexx next >
OS/2 REXX Batch file  |  1994-09-19  |  2KB  |  86 lines

  1. /*
  2.  *    $VER: BumpRev.rexx 1.0 (26.07.94) © Sylvain Rougier
  3.  *
  4.  *
  5.  *    Example:
  6.  *    1>    rx bumprev.rexx Name prog Version 1 Revision 0 Copyright "© by Sylvain Rougier" IncRev Verbose
  7.  *
  8.  */
  9.  
  10.  
  11. PARSE ARG ArgLine
  12.  
  13. call addlib("RexxDosSupport.library",0,-30,2)
  14.  
  15. Template = "Name/A,Version,Revision,File/K,Copyright/K,IncRev/K/S,Verbose/K/S,Asm/K/S"
  16. IF ~ReadArgs(ArgLine, Template, "Args.") THEN DO
  17.     Echo "BumpRev: " Fault(RC)
  18.     Echo "Usage: "Template
  19.     EXIT
  20. END
  21.  
  22. IF Args.File = 'ARGS.FILE' THEN
  23.     FileName = Args.Name"_rev.h"
  24. ELSE
  25.     FileName = Args.File
  26.  
  27. IF Args.IncRev THEN DO
  28.     IF OPEN(FH, FileName, 'R') THEN DO
  29.         s = ReadLn(FH)    /* VERSION */
  30.         OldVersion = WORD(s, 3)
  31.         IF OldVersion ~= Args.Version THEN
  32.             Args.Revision = 0
  33.         ELSE
  34.             DO
  35.             s = ReadLn(FH)    /* REVISION */
  36.             Args.Revision = WORD(s, 3) + 1
  37.             END
  38.         CLOSE(FH)
  39.     END
  40.     ELSE
  41.         Args.Revision = 0;
  42. END
  43.  
  44. VersionRevision = Args.Version'.'Args.Revision
  45. DateVer = SUBSTR(DATE(SORTED), 7, 2)'.'SUBSTR(DATE(SORTED), 5, 2)'.'SUBSTR(DATE(SORTED), 3, 2)
  46. VersTag = '$VER:'Args.Name' 'VersionRevision' ('DateVer')"'
  47.  
  48. IF OPEN(FH, FileName, 'W') THEN DO
  49.     WriteLn(FH, '#define VERSION 'Args.Version)
  50.     WriteLn(FH, '#define REVISION 'Args.Revision)
  51.     WriteLn(FH, '#define VERSIONREVISION "'VersionRevision'"')    /* asked by Pierre Carrette */
  52.     WriteLn(FH, '#define DATE 'DateVer)
  53.     WriteLn(FH, '#define VERS "'Args.Name' 'VersionRevision'"')
  54.     WriteLn(FH, '#define VSTRING "'Args.Name' 'VersionRevision' ('DateVer')\r\n"')
  55.     WriteLn(FH, '#define VERSTAG "'VersTag)
  56.     CLOSE(FH)
  57. END
  58. ELSE
  59.     EXIT
  60.  
  61. IF Args.Asm THEN DO
  62.     IF OPEN(FH, Args.Name"_rev.i", 'W') THEN DO
  63.         WriteLn(FH, "VERSION EQU "Args.Version)
  64.         WriteLn(FH, "REVISION EQU "Args.Revision)
  65.         WriteLn(FH, "DATE    MACRO")
  66.         WriteLn(FH, "        dc.b  '"DateVer"'")
  67.         WriteLn(FH, "    ENDM")
  68.         WriteLn(FH, "VERS    MACRO")
  69.         WriteLn(FH, "        dc.b  '"Args.Name" "VersionRevision"'")
  70.         WriteLn(FH, "    ENDM")
  71.         WriteLn(FH, "VSTRING    MACRO")
  72.         WriteLn(FH, "        dc.b  '"Args.Name" "VersionRevision" ("DateVer")',13,10,0")
  73.         WriteLn(FH, "    ENDM")
  74.         WriteLn(FH, "VERSTAG    MACRO")
  75.         WriteLn(FH, "        dc.b  '$VER: "Args.Name" "VersionRevision" ("DateVer") "TIME(NORMAL)" "Args.Copyright"',0") 
  76.         WriteLn(FH, "    ENDM")
  77.         CLOSE(FH)
  78.     END
  79.     ELSE
  80.         EXIT
  81. END
  82.  
  83. IF Args.Verbose THEN DO
  84.     Echo VersTag
  85. END
  86.